<?php
// +-------------------------------------------------------------------------------
// | DingZone [ A Rapid Development Framework For Dingtalk ]
// +-------------------------------------------------------------------------------
// | SmsHelper.php v1.0
// |
// | Copyright (c) 2014-2018 http://www.heimalanshi.com All rights reserved.
// | Author : Jie
// | Date : 2018-10-12
// +-------------------------------------------------------------------------------


namespace sms;


interface SmsHelper {
//    const DEFAULT_VERIFY_CODE_MESSAGE = "您的验证码是[code]，请于[expired]分钟内正确输入";
    const DEFAULT_VERIFY_CODE_MESSAGE = "您的验证码是：[code]。请不要把验证码泄露给其他人。";

    /**
     * 发送短信验证码
     *
     * @param string $mobile 手机号
     * @param int $expired 有效期(默认600秒=10分钟)
     * @param string|bool $code 验证码，false表示随机生成
     * @param string $type 验证码类型
     * @param int $uid 关联用户id
     * @param string|boolean $message 短信模板
     * @return mixed
     * [
     *          'status' => 1,
     *          'info' => '成功'
     * ]
     */
    public function sendVerify($mobile,
                               $expired = 600,
                               $code = false,
                               $type = "",
                               $uid = -1,
                               $message = false
    );

    /**
     * 检查验证码
     *
     * @param string $mobile 手机号
     * @param string $code 待检测的验证码
     * @param string $type 验证码类型
     * @param int $uid 用户id
     * @return mixed
     * [
     *          'status' => 1,
     *          'info' => '成功'
     * ]
     */
    public function checkVerify($mobile, $code, $type = "", $uid = -1);

    /**
     * 发送短信
     *
     * @param string $mobile 手机号
     * @param string $msg 短信文本（必须事先在互亿无线后台手动添加与之对应的模板）
     * @return mixed
     * [
     *          'status' => 1,
     *          'info' => '成功'
     * ]
     */
    public function send($mobile, $msg);
}